home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1993-12-02  |  35.2 KB  |  829 lines  |  [TEXT/MPS ]

  1. ;___________________________________________________________________________
  2. ; Created: Saturday, April 24, 1993
  3. ;
  4. ; File: ImageCompression.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1990-93
  8. ; All Rights Reserved
  9. ;
  10. ;___________________________________________________________________________
  11.  
  12.  IF &TYPE('__INCLUDINGIMAGECOMPRESSION__') = 'UNDEFINED' THEN
  13. __INCLUDINGIMAGECOMPRESSION__   SET 1
  14.  
  15.  
  16. gestaltCompressionMgr       EQU      'icmp'
  17. ; These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  18. codecInfoDoes1              EQU      $1               ; codec can work with 1-bit pixels 
  19. codecInfoDoes2              EQU      $2               ; codec can work with 2-bit pixels 
  20. codecInfoDoes4              EQU      $4               ; codec can work with 4-bit pixels 
  21. codecInfoDoes8              EQU      $8               ; codec can work with 8-bit pixels 
  22. codecInfoDoes16             EQU      $10              ; codec can work with 16-bit pixels 
  23. codecInfoDoes32             EQU      $20              ; codec can work with 32-bit pixels 
  24. codecInfoDoesDither         EQU      $40              ; codec can do ditherMode 
  25. codecInfoDoesStretch        EQU      $80              ; codec can stretch to arbitrary sizes 
  26. codecInfoDoesShrink         EQU      $100             ; codec can shrink to arbitrary sizes 
  27. codecInfoDoesMask           EQU      $200             ; codec can mask to clipping regions 
  28.  
  29. codecInfoDoesTemporal       EQU      $400             ; codec can handle temporal redundancy 
  30.  
  31. codecInfoDoesDouble         EQU      $800             ; codec can stretch to double size exactly 
  32. codecInfoDoesQuad           EQU      $1000            ; codec can stretch to quadruple size exactly 
  33. codecInfoDoesHalf           EQU      $2000            ; codec can shrink to half size 
  34. codecInfoDoesQuarter        EQU      $4000            ; codec can shrink to quarter size 
  35.  
  36. codecInfoDoesRotate         EQU      $8000            ; codec can rotate on decompress 
  37. codecInfoDoesHorizFlip      EQU      $10000           ; codec can flip horizontally on decompress 
  38. codecInfoDoesVertFlip       EQU      $20000           ; codec can flip vertically on decompress 
  39. codecInfoDoesSkew           EQU      $40000           ; codec can skew on decompress 
  40. codecInfoDoesBlend          EQU      $80000           ; codec can blend on decompress 
  41. codecInfoDoesWarp           EQU      $100000          ; codec can warp arbitrarily on decompress 
  42. codecInfoDoesRecompress     EQU      $200000          ; codec can recompress image without accumulating errors 
  43. codecInfoDoesSpool            EQU         $400000          ; compressed data at 32 bpp depth available 
  44. codecInfoDoesRateConstrain    EQU         $800000;
  45.  
  46. codecInfoDepth1             EQU      $1               ; compressed data at 1 bpp depth available 
  47. codecInfoDepth2             EQU      $2               ; compressed data at 2 bpp depth available 
  48. codecInfoDepth4             EQU      $4               ; compressed data at 4 bpp depth available 
  49. codecInfoDepth8             EQU      $8               ; compressed data at 8 bpp depth available 
  50. codecInfoDepth16            EQU      $10              ; compressed data at 16 bpp depth available 
  51. codecInfoDepth32            EQU      $20              ; compressed data at 32 bpp depth available 
  52. codecInfoDepth24            EQU      $40              ; compressed data at 24 bpp depth available 
  53. codecInfoDepth33            EQU      $80              ; compressed data at 1 bpp monochrome depth  available 
  54. codecInfoDepth34            EQU      $100             ; compressed data at 2 bpp grayscale depth available 
  55. codecInfoDepth36            EQU      $200             ; compressed data at 4 bpp grayscale depth available 
  56. codecInfoDepth40            EQU      $400             ; compressed data at 8 bpp grayscale depth available 
  57. codecInfoStoresClut         EQU      $800             ; compressed data can have custom cluts 
  58. codecInfoDoesLossless        EQU      $1000               ; compressed data can be stored in lossless format
  59. codecInfoSequenceSensitive    EQU         $2000
  60.  
  61. codecFlagUseImageBuffer     EQU      $1               ; (input) allocate buffer for whole image on decompress sequence 
  62. codecFlagUseScreenBuffer    EQU      $2               ; (input) allocate buffer for screen on decompress sequence for faster updates 
  63. codecFlagUpdatePrevious     EQU      $4               ; (input) udate previous buffer on compress sequence 
  64. codecFlagNoScreenUpdate     EQU      $8               ; (input) dont update screen, but do update image buffer if allocated 
  65. codecFlagWasCompressed      EQU      $10              ; (input) hint to compressor that image was previously compressed 
  66. codecFlagDontOffscreen      EQU      $20              ; (input) return error instead of automatically going offscreen 
  67. codecFlagUpdatePreviousComp EQU      $40              ; (input) udate previous buffer on compress sequence 
  68. codecFlagForceKeyFrame      EQU      $80              ; (input) when sent to CompressSequenceFrame, forces that frame to be a key frame 
  69. codecFlagOnlyScreenUpdate    EQU      $100              ;    (input) only update screen from 
  70. codecFlagLiveGrab            EQU      $200              ; (input) data being compressed is from live source (speed is critical)
  71. codecFlagDontUseNewImageBuffer EQU     $400              ; (input) return error if image buffer is new or reallocated
  72. codecFlagInterlaceUpdate    EQU         $800              ; (input) use interlaced update
  73.  
  74.  
  75.  
  76. codecFlagUsedNewImageBuffer    EQU      $4000              ; (output) indicates that image buffer was first used on this decompress sequence 
  77. codecFlagUsedImageBuffer    EQU      $8000            ; (output) indicates that image buffer was used on this decompress sequence 
  78.  
  79. codecErr                    EQU      -8960            ; the codec returned an error 
  80. noCodecErr                  EQU      -8961            ; the specified codec could not be found 
  81. codecUnimpErr               EQU      -8962            ; this feature is not implemented by the specified codec 
  82. codecSizeErr                EQU      -8963
  83. codecScreenBufErr           EQU      -8964            ; the screen buffer could not be allocated 
  84. codecImageBufErr            EQU      -8965            ; the image buffer could not be allocated 
  85. codecSpoolErr               EQU      -8966            ; the compressed data must be in memory (spooling did not work) 
  86. codecAbortErr               EQU      -8967            ; the operation was aborted by the progress proc 
  87. codecWouldOffscreenErr      EQU      -8968            ; an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set 
  88. codecBadDataErr             EQU      -8969            ; compressed data was found to have inconsistencies 
  89. codecDataVersErr            EQU      -8970            ; compressed data was of a format version that codec couldn't handle 
  90. codecConditionErr            EQU         -8972              ; codec can not do requested operation 
  91. codecOpenErr                EQU         -8973              ; the codec  could not be opened
  92.  
  93. codecMinimumDataSize        EQU      32768            ; The minimum data size for spooling in or out data 
  94.  
  95. compressorComponentType     EQU      'imco'           ; the type for "Components" which compress images 
  96. decompressorComponentType   EQU      'imdc'           ; the type for "Components" which decompress images 
  97.  
  98. defaultDither                EQU         0
  99. forceDither                    EQU         1
  100. suppressDither                EQU         2
  101. useColorMatching            EQU         4
  102.  
  103. codecLosslessQuality        EQU         $400
  104. codecMaxQuality                EQU         $3FF
  105. codecMinQuality                EQU         $000
  106. codecLowQuality                EQU         $100
  107. codecNormalQuality            EQU         $200
  108. codecHighQuality            EQU         $300
  109.  
  110. anyCodec                     EQU         0                  ; take first working codec of given type }
  111. bestSpeedCodec                EQU         -1                  ; take fastest codec of given type }
  112. bestFidelityCodec            EQU         -2                  ; take codec which is most accurate}
  113. bestCompressionCodec        EQU         -3                  ; take codec of given type that is most accurate }
  114.  
  115. codecCompletionSource       EQU      1                  ; asynchronous codec is done with source data 
  116. codecCompletionDest         EQU      2                  ; asynchronous codec is done with destination data  
  117.  
  118. codecProgressOpen           EQU      0
  119. codecProgressUpdatePercent  EQU      1
  120. codecProgressClose          EQU      2
  121.  
  122.  
  123. ProgressProcRecord          RECORD   0
  124. progressProc                DS.L     1
  125. progressRefCon              DS.L     1
  126. size                        EQU      *
  127.                             ENDR
  128.  
  129. CompletionProcRecord        RECORD   0
  130. completionProc              DS.L     1
  131. completionRefCon            DS.L     1
  132. size                        EQU      *
  133.                             ENDR
  134.  
  135. DataProcRecord              RECORD   0
  136. dataProc                    DS.L     1
  137. dataRefCon                  DS.L     1
  138. size                        EQU      *
  139.                             ENDR
  140.  
  141. FlushProcRecord             RECORD   0
  142. flushProc                   DS.L     1
  143. flushRefCon                 DS.L     1
  144. size                        EQU      *
  145.                             ENDR
  146.  
  147. ;    The ImageDescription is private data which is produced when an image or sequence 
  148. ;    is compressed. It fully describes the format of the compressed data.
  149. ImageDescription            RECORD   0
  150. idSize                      DS.L     1                   ; total size of ImageDescription including extra data ( CLUTs and other per sequence data 
  151. cType                       DS.L     1                  ; what kind of codec compressed this data 
  152. resvd1                      DS.L     1                ; reserved for apple use 
  153. resvd2                      DS.W     1                ; reserved for apple use 
  154. dataRefIndex                DS.W     1                ; set to zero 
  155. version                     DS.W     1                ; which version is this data 
  156. revisionLevel               DS.W     1                ; what version of that codec did this 
  157. vendor                      DS.L     1                ; whose  codec compressed this data 
  158. temporalQuality             DS.L     1                ; what was the temporal quality factor          
  159. spatialQuality              DS.L     1                  ; what was the spatial quality factor          
  160. width                       DS.W     1                ; how many pixels wide is this data 
  161. height                      DS.W     1                ; how many pixels high is this data 
  162. hRes                        DS.L     1                  ; horizontal resolution 
  163. vRes                        DS.L     1                ; vertical resolution 
  164. dataSize                    DS.L     1                ; if known, the size of data for this image descriptor 
  165. frameCount                  DS.W     1                ; number of frames this description applies to 
  166. name                        DS.B     32                  ; name of codec ( in case not installed ) 
  167. depth                       DS.W     1                ; what depth is this data (1-32) or ( 33-40 grayscale ) 
  168. clutID                      DS.W     1                ; clut id or if 0 clut follows  or -1 if no clut 
  169. size                        EQU      *
  170.                             ENDR
  171.  
  172. ;    The CodecInfo is the information returned as the codecInfo struct by a codec Component
  173. ;    to the codec manager or to the caller. It is specific to the particular codec
  174. ;    implementation and not to the codec type.
  175. CodecInfo                   RECORD   0
  176. typeName                    DS.B     32               ; name of the codec type i.e.: 'Apple Image Compression' 
  177. version                     DS.W     1                ; version of the codec data that this codec knows about 
  178. revisionLevel               DS.W     1                ; revision level of this codec i.e: 0x00010001 (1.0.1) 
  179. vendor                      DS.L     1                ; Maker of this codec i.e: 'appl' 
  180. decompressFlags             DS.L     1                ; codecInfo flags for decompression capabilities 
  181. compressFlags               DS.L     1                ; codecInfo flags for compression capabilities 
  182. formatFlags                 DS.L     1                ; codecInfo flags for compression format details 
  183. compressionAccuracy         DS.B     1                ; measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  184. decompressionAccuracy       DS.B     1                ; measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  185. compressionSpeed            DS.W     1                ; ( millisecs for compressing 320x240 on base mac II) (0 if unknown) 
  186. decompressionSpeed          DS.W     1                ; ( millisecs for decompressing 320x240 on mac II)(0 if unknown) 
  187. compressionLevel            DS.B     1                ; measure (1-255) of compression level of this codec (0 if unknown) 
  188. resvd                       DS.B     1                ; pad 
  189. minimumHeight               DS.W     1                ; minimum height of image (block size) 
  190. minimumWidth                DS.W     1                ; minimum width of image (block size) 
  191. decompressPipelineLatency   DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  192. compressPipelineLatency     DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  193. privateData                 DS.L     1
  194. size                        EQU      *
  195.                             ENDR
  196.  
  197. ; Name list returned by GetCodecNameList. 
  198. CodecNameSpec               RECORD   0
  199. codec                       DS.L     1
  200. cType                       DS.L     1
  201. typeName                    DS.B     32
  202. name                        DS.L     1
  203. size                        EQU      *
  204.                             ENDR
  205.  
  206. CodecNameSpecList           RECORD   0
  207. count                       DS.W     1
  208. list                        DS.L     1
  209. size                        EQU      *
  210.                             ENDR
  211.  
  212. ;  Matrix stuff  
  213. MatrixRecord                RECORD   0
  214. matrix                      DS.L     3
  215. size                        EQU      *
  216.                             ENDR
  217.  
  218. FixedPoint                  RECORD   0
  219. x                           DS.L     1
  220. y                           DS.L     1
  221. size                        EQU      *
  222.                             ENDR
  223.  
  224. FixedRect                   RECORD   0
  225. left                        DS.L     1
  226. top                         DS.L     1
  227. right                       DS.L     1
  228. bottom                      DS.L     1
  229. size                        EQU      *
  230.                             ENDR
  231.  
  232.                             MACRO
  233.                             _CodecManagerVersion
  234.                             MOVEQ    #$00,D0
  235.                             DC.W         $AAA3        ; TB 02A3
  236.                             ENDM
  237.  
  238.                             MACRO
  239.                             _GetCodecNameList
  240.                             MOVEQ    #$01,D0
  241.                             DC.W         $AAA3        ; TB 02A3
  242.                             ENDM
  243.  
  244.                             MACRO
  245.                             _DisposeCodecNameList
  246.                             MOVEQ    #$0f,D0
  247.                             DC.W         $AAA3        ; TB 02A3
  248.                             ENDM
  249.  
  250.                             MACRO
  251.                             _GetCodecInfo
  252.                             MOVEQ    #$03,D0
  253.                             DC.W         $AAA3        ; TB 02A3
  254.                             ENDM
  255.  
  256.                             MACRO
  257.                             _GetMaxCompressionSize
  258.                             MOVEQ    #$04,D0
  259.                             DC.W         $AAA3        ; TB 02A3
  260.                             ENDM
  261.  
  262.                             MACRO
  263.                             _GetCompressionTime
  264.                             MOVEQ    #$05,D0
  265.                             DC.W         $AAA3        ; TB 02A3
  266.                             ENDM
  267.  
  268.                             MACRO
  269.                             _CompressImage
  270.                             MOVEQ    #$06,D0
  271.                             DC.W         $AAA3        ; TB 02A3
  272.                             ENDM
  273.  
  274.                             MACRO
  275.                             _FCompressImage
  276.                             MOVEQ    #$07,D0
  277.                             DC.W         $AAA3        ; TB 02A3
  278.                             ENDM
  279.  
  280.                             MACRO
  281.                             _DecompressImage
  282.                             MOVEQ    #$08,D0
  283.                             DC.W         $AAA3        ; TB 02A3
  284.                             ENDM
  285.  
  286.                             MACRO
  287.                             _FDecompressImage
  288.                             MOVEQ    #$09,D0
  289.                             DC.W         $AAA3        ; TB 02A3
  290.                             ENDM
  291.  
  292.                             MACRO
  293.                             _CompressSequenceBegin
  294.                             MOVEQ    #$0A,D0
  295.                             DC.W         $AAA3        ; TB 02A3
  296.                             ENDM
  297.  
  298.                             MACRO
  299.                             _CompressSequenceFrame
  300.                             MOVEQ    #$0B,D0
  301.                             DC.W         $AAA3        ; TB 02A3
  302.                             ENDM
  303.  
  304.                             MACRO
  305.                             _DecompressSequenceBegin
  306.                             MOVEQ    #$0D,D0
  307.                             DC.W         $AAA3        ; TB 02A3
  308.                             ENDM
  309.  
  310.                             MACRO
  311.                             _DecompressSequenceBeginS
  312.                             MOVE.L    #$0048005D,D0
  313.                             DC.W         $AAA3        ; TB 02A3
  314.                             ENDM
  315.  
  316.                             MACRO
  317.                             _DecompressSequenceFrame
  318.                             MOVEQ    #$0E,D0
  319.                             DC.W         $AAA3        ; TB 02A3
  320.                             ENDM
  321.  
  322.                             MACRO
  323.                             _SetDSequenceMatrix
  324.                             MOVEQ    #$10,D0
  325.                             DC.W         $AAA3        ; TB 02A3
  326.                             ENDM
  327.  
  328.                             MACRO
  329.                             _SetDSequenceMatte
  330.                             MOVEQ    #$11,D0
  331.                             DC.W         $AAA3        ; TB 02A3
  332.                             ENDM
  333.  
  334.                             MACRO
  335.                             _SetDSequenceMask
  336.                             MOVEQ    #$12,D0
  337.                             DC.W         $AAA3        ; TB 02A3
  338.                             ENDM
  339.  
  340.                             MACRO
  341.                             _SetDSequenceTransferMode
  342.                             MOVEQ    #$13,D0
  343.                             DC.W         $AAA3        ; TB 02A3
  344.                             ENDM
  345.  
  346.                             MACRO
  347.                             _SetDSequenceDataProc
  348.                             MOVEQ    #$14,D0
  349.                             DC.W         $AAA3        ; TB 02A3
  350.                             ENDM
  351.  
  352.                             MACRO
  353.                             _SetDSequenceAccuracy
  354.                             MOVEQ    #$34,D0
  355.                             DC.W         $AAA3        ; TB 02A3
  356.                             ENDM
  357.  
  358.                             MACRO
  359.                             _SetDSequenceSrcRect
  360.                             MOVEQ    #$35,D0
  361.                             DC.W         $AAA3        ; TB 02A3
  362.                             ENDM
  363.  
  364.                             MACRO
  365.                             _GetDSequenceImageBuffer
  366.                             MOVEQ    #$15,D0
  367.                             DC.W         $AAA3        ; TB 02A3
  368.                             ENDM
  369.  
  370.                             MACRO
  371.                             _GetDSequenceScreenBuffer
  372.                             MOVEQ    #$16,D0
  373.                             DC.W         $AAA3        ; TB 02A3
  374.                             ENDM
  375.  
  376.                             MACRO
  377.                             _SetCSequenceQuality
  378.                             MOVEQ    #$17,D0
  379.                             DC.W         $AAA3        ; TB 02A3
  380.                             ENDM
  381.  
  382.                             MACRO
  383.                             _SetCSequencePrev
  384.                             MOVEQ    #$18,D0
  385.                             DC.W         $AAA3        ; TB 02A3
  386.                             ENDM
  387.  
  388.                             MACRO
  389.                             _SetCSequenceFlushProc
  390.                             MOVEQ    #$33,D0
  391.                             DC.W         $AAA3        ; TB 02A3
  392.                             ENDM
  393.  
  394.                             MACRO
  395.                             _SetCSequenceKeyFrameRate
  396.                             MOVEQ    #$36,D0
  397.                             DC.W         $AAA3        ; TB 02A3
  398.                             ENDM
  399.  
  400.                             MACRO
  401.                             _GetCSequenceKeyFrameRate
  402.                             MOVE.L    #$000C004B,D0
  403.                             DC.W         $AAA3        ; TB 02A3
  404.                             ENDM
  405.  
  406.                             MACRO
  407.                             _GetCSequencePrevBuffer
  408.                             MOVEQ    #$19,D0
  409.                             DC.W         $AAA3        ; TB 02A3
  410.                             ENDM
  411.  
  412.                             MACRO
  413.                             _CDSequenceBusy
  414.                             MOVEQ    #$1A,D0
  415.                             DC.W         $AAA3        ; TB 02A3
  416.                             ENDM
  417.  
  418.                             MACRO
  419.                             _CDSequenceEnd
  420.                             MOVEQ    #$1B,D0
  421.                             DC.W         $AAA3        ; TB 02A3
  422.                             ENDM
  423.  
  424.                             MACRO
  425.                             _GetCompressedImageSize
  426.                             MOVEQ    #$1C,D0
  427.                             DC.W         $AAA3        ; TB 02A3
  428.                             ENDM
  429.  
  430.                             MACRO
  431.                             _GetSimilarity
  432.                             MOVEQ    #$1D,D0
  433.                             DC.W         $AAA3        ; TB 02A3
  434.                             ENDM
  435.  
  436.                             MACRO
  437.                             _GetImageDescriptionCTable
  438.                             MOVEQ    #$1E,D0
  439.                             DC.W         $AAA3        ; TB 02A3
  440.                             ENDM
  441.  
  442.                             MACRO
  443.                             _SetImageDescriptionCTable
  444.                             MOVEQ    #$1F,D0
  445.                             DC.W         $AAA3        ; TB 02A3
  446.                             ENDM
  447.  
  448.                             MACRO
  449.                             _GetImageDescriptionExtension
  450.                             MOVEQ    #$20,D0
  451.                             DC.W         $AAA3        ; TB 02A3
  452.                             ENDM
  453.  
  454.                             MACRO
  455.                             _RemoveImageDescriptionExtension
  456.                             MOVE.L    #$000C003A,D0
  457.                             DC.W         $AAA3        ; TB 02A3
  458.                             ENDM
  459.  
  460.                             MACRO
  461.                             _CountImageDescriptionExtensionType
  462.                             MOVE.L    #$000C003B,D0
  463.                             DC.W         $AAA3        ; TB 02A3
  464.                             ENDM
  465.  
  466.                             MACRO
  467.                             _GetNextImageDescriptionExtensionType
  468.                             MOVE.L    #$0008003C,D0
  469.                             DC.W         $AAA3        ; TB 02A3
  470.                             ENDM
  471.  
  472.                             MACRO
  473.                             _SetImageDescriptionExtension
  474.                             MOVEQ    #$21,D0
  475.                             DC.W         $AAA3        ; TB 02A3
  476.                             ENDM
  477.  
  478.                             MACRO
  479.                             _FindCodec
  480.                             MOVEQ    #$23,D0
  481.                             DC.W         $AAA3        ; TB 02A3
  482.                             ENDM
  483.  
  484.                             MACRO
  485.                             _CompressPicture
  486.                             MOVEQ    #$24,D0
  487.                             DC.W         $AAA3        ; TB 02A3
  488.                             ENDM
  489.  
  490.                             MACRO
  491.                             _FCompressPicture
  492.                             MOVEQ    #$25,D0
  493.                             DC.W         $AAA3        ; TB 02A3
  494.                             ENDM
  495.  
  496.                             MACRO
  497.                             _CompressPictureFile
  498.                             MOVEQ    #$26,D0
  499.                             DC.W         $AAA3        ; TB 02A3
  500.                             ENDM
  501.  
  502.                             MACRO
  503.                             _FCompressPictureFile
  504.                             MOVEQ    #$27,D0
  505.                             DC.W         $AAA3        ; TB 02A3
  506.                             ENDM
  507.  
  508.                             MACRO
  509.                             _GetPictureFileHeader
  510.                             MOVEQ    #$28,D0
  511.                             DC.W         $AAA3        ; TB 02A3
  512.                             ENDM
  513.  
  514.                             MACRO
  515.                             _DrawPictureFile
  516.                             MOVEQ    #$29,D0
  517.                             DC.W         $AAA3        ; TB 02A3
  518.                             ENDM
  519.  
  520.                             MACRO
  521.                             _DrawTrimmedPicture
  522.                             MOVEQ    #$2E,D0
  523.                             DC.W         $AAA3        ; TB 02A3
  524.                             ENDM
  525.  
  526.                             MACRO
  527.                             _DrawTrimmedPictureFile
  528.                             MOVEQ    #$2F,D0
  529.                             DC.W         $AAA3        ; TB 02A3
  530.                             ENDM
  531.  
  532.                             MACRO
  533.                             _MakeThumbnailFromPicture
  534.                             MOVEQ    #$2A,D0
  535.                             DC.W         $AAA3        ; TB 02A3
  536.                             ENDM
  537.  
  538.                             MACRO
  539.                             _MakeThumbnailFromPictureFile
  540.                             MOVEQ    #$2B,D0
  541.                             DC.W         $AAA3        ; TB 02A3
  542.                             ENDM
  543.  
  544.                             MACRO
  545.                             _MakeThumbnailFromPixMap
  546.                             MOVEQ    #$2C,D0
  547.                             DC.W         $AAA3        ; TB 02A3
  548.                             ENDM
  549.  
  550.                             MACRO
  551.                             _TrimImage
  552.                             MOVEQ    #$2D,D0
  553.                             DC.W         $AAA3        ; TB 02A3
  554.                             ENDM
  555.  
  556.                             MACRO
  557.                             _ConvertImage
  558.                             MOVEQ    #$30,D0
  559.                             DC.W         $AAA3        ; TB 02A3
  560.                             ENDM
  561.  
  562.                             MACRO
  563.                             _StdPix
  564.                             MOVEQ    #$c,D0
  565.                             DC.W         $AAA3        ; TB 02A3
  566.                             ENDM
  567.  
  568.                             MACRO
  569.                             _GetCompressedPixMapInfo
  570.                             MOVEQ    #$37,D0
  571.                             DC.W         $AAA3        ; TB 02A3
  572.                             ENDM
  573.  
  574.                             MACRO
  575.                             _SetCompressedPixMapInfo
  576.                             MOVEQ    #$38,D0
  577.                             DC.W         $AAA3        ; TB 02A3
  578.                             ENDM
  579.  
  580.                             MACRO
  581.                             _AlignScreenRect
  582.                             MOVE.L    #$0004004B,D0
  583.                             DC.W         $AAA3        ; TB 02A3
  584.                             ENDM
  585.  
  586.                             MACRO
  587.                             _AlignWindow
  588.                             MOVE.L    #$000A004C,D0
  589.                             DC.W         $AAA3        ; TB 02A3
  590.                             ENDM
  591.  
  592.                             MACRO
  593.                             _DragAlignedWindow
  594.                             MOVE.L    #$00010004D,D0
  595.                             DC.W         $AAA3        ; TB 02A3
  596.                             ENDM
  597.  
  598.                             MACRO
  599.                             _DragAlignedGrayRgn
  600.                             MOVE.L    #$001A004E,D0
  601.                             DC.W         $AAA3        ; TB 02A3
  602.                             ENDM
  603.  
  604.                             MACRO
  605.                             _SetCSequenceDataRateParamsn
  606.                             MOVE.L    #$00080050,D0
  607.                             DC.W         $AAA3        ; TB 02A3
  608.                             ENDM
  609.  
  610.                             MACRO
  611.                             _SetCSequenceFrameNumber
  612.                             MOVE.L    #$00080051,D0
  613.                             DC.W         $AAA3        ; TB 02A3
  614.                             ENDM
  615.  
  616.                             MACRO
  617.                             _NewImageGWorld
  618.                             MOVE.L    #$000C0052,D0
  619.                             DC.W         $AAA3        ; TB 02A3
  620.                             ENDM
  621.  
  622.                             MACRO
  623.                             _GetCSequenceDataRateParams
  624.                             MOVE.L    #$00080053,D0
  625.                             DC.W         $AAA3        ; TB 02A3
  626.                             ENDM
  627.  
  628.                             MACRO
  629.                             _GetCSequenceFrameNumber
  630.                             MOVE.L    #$00080054,D0
  631.                             DC.W         $AAA3        ; TB 02A3
  632.                             ENDM
  633.  
  634.                             MACRO
  635.                             _GetBestDeviceRect
  636.                             MOVE.L    #$00080055,D0
  637.                             DC.W         $AAA3        ; TB 02A3
  638.                             ENDM
  639.  
  640.                             MACRO
  641.                             _SetSequenceProgressProc
  642.                             MOVE.L    #$00080056,D0
  643.                             DC.W         $AAA3        ; TB 02A3
  644.                             ENDM
  645.  
  646.                             MACRO
  647.                             _GDHasScale
  648.                             MOVE.L    #$000A005A,D0
  649.                             DC.W         $AAA3        ; TB 02A3
  650.                             ENDM
  651.  
  652.                             MACRO
  653.                             _GDGetScale
  654.                             MOVE.L    #$000C005B,D0
  655.                             DC.W         $AAA3        ; TB 02A3
  656.                             ENDM
  657.  
  658.                             MACRO
  659.                             _GDSetScale
  660.                             MOVE.L    #$000A005C,D0
  661.                             DC.W         $AAA3        ; TB 02A3
  662.                             ENDM
  663.  
  664.  
  665. identityMatrixType            EQU         $00              ; result if matrix is identity
  666. translateMatrixType            EQU         $01              ; result if matrix translates
  667. scaleMatrixType                EQU         $02              ; result if matrix scales
  668. scaleTranslateMatrixType    EQU         $03              ; result if matrix scales and translates
  669. linearMatrixType            EQU         $04              ; result if matrix is general 2 x 2
  670. linearTranslateMatrixType    EQU         $05              ; result if matrix is general 2 x 2 and translates
  671. perspectiveMatrixType        EQU         $06              ; result if matrix is general 3 x 3
  672.  
  673.                             MACRO
  674.                             _GetMatrixType
  675.                             MOVEQ        #$14,D0
  676.                             DC.W         $ABC2        ; TB 03C2
  677.                             ENDM
  678.  
  679.                             MACRO
  680.                             _CopyMatrix
  681.                             MOVEQ        #$20,D0
  682.                             DC.W         $ABC2        ; TB 03C2
  683.                             ENDM
  684.  
  685.                             MACRO
  686.                             _EqualMatrix
  687.                             MOVEQ        #$21,D0
  688.                             DC.W         $ABC2        ; TB 03C2
  689.                             ENDM
  690.  
  691.                             MACRO
  692.                             _SetIdentityMatrix
  693.                             MOVEQ        #$15,D0
  694.                             DC.W         $ABC2        ; TB 03C2
  695.                             ENDM
  696.  
  697.                             MACRO
  698.                             _TranslateMatrix
  699.                             MOVEQ        #$19,D0
  700.                             DC.W         $ABC2        ; TB 03C2
  701.                             ENDM
  702.  
  703.                             MACRO
  704.                             _RotateMatrix
  705.                             MOVEQ        #$16,D0
  706.                             DC.W         $ABC2        ; TB 03C2
  707.                             ENDM
  708.  
  709.                             MACRO
  710.                             _ScaleMatrix
  711.                             MOVEQ        #$17,D0
  712.                             DC.W         $ABC2        ; TB 03C2
  713.                             ENDM
  714.  
  715.                             MACRO
  716.                             _SkewMatrix
  717.                             MOVEQ        #$18,D0
  718.                             DC.W         $ABC2        ; TB 03C2
  719.                             ENDM
  720.  
  721.                             MACRO
  722.                             _TransformFixedPoints
  723.                             MOVEQ        #$22,D0
  724.                             DC.W         $ABC2        ; TB 03C2
  725.                             ENDM
  726.  
  727.                             MACRO
  728.                             _TransformPoints
  729.                             MOVEQ        #$23,D0
  730.                             DC.W         $ABC2        ; TB 03C2
  731.                             ENDM
  732.  
  733.                             MACRO
  734.                             _TransformFixedRect
  735.                             MOVEQ        #$24,D0
  736.                             DC.W         $ABC2        ; TB 03C2
  737.                             ENDM
  738.  
  739.                             MACRO
  740.                             _TransformRect
  741.                             MOVEQ        #$25,D0
  742.                             DC.W         $ABC2        ; TB 03C2
  743.                             ENDM
  744.  
  745.                             MACRO
  746.                             _TransformRgn
  747.                             MOVEQ        #$39,D0
  748.                             DC.W         $AAA3        ; TB 02A3
  749.                             ENDM
  750.  
  751.                             MACRO
  752.                             _InverseMatrix
  753.                             MOVEQ        #$1C,D0
  754.                             DC.W         $ABC2        ; TB 03C2
  755.                             ENDM
  756.  
  757.                             MACRO
  758.                             _ConcatMatrix
  759.                             MOVEQ        #$1B,D0
  760.                             DC.W         $ABC2        ; TB 03C2
  761.                             ENDM
  762.  
  763.                             MACRO
  764.                             _RectMatrix
  765.                             MOVEQ        #$1E,D0
  766.                             DC.W         $ABC2        ; TB 03C2
  767.                             ENDM
  768.  
  769.                             MACRO
  770.                             _MapMatrix
  771.                             MOVEQ        #$1D,D0
  772.                             DC.W         $ABC2        ; TB 03C2
  773.                             ENDM
  774.  
  775.  
  776.                             MACRO
  777.                            _SFGetFilePreview
  778.                            MOVE.W    #65,D0    
  779.                            DC.W      $AAA3
  780.                            ENDM
  781.  
  782.                            MACRO
  783.                            _SFPGetFilePreview
  784.                            MOVE.W    #66,D0    
  785.                            DC.W      $AAA3
  786.                            ENDM
  787.  
  788.                            MACRO
  789.                            _StandardGetFilePreview
  790.                            MOVE.W    #67,D0    
  791.                            DC.W      $AAA3
  792.                            ENDM
  793.  
  794.                            MACRO
  795.                            _CustomGetFilePreview
  796.                            MOVE.W    #68,D0    
  797.                            DC.W      $AAA3
  798.                            ENDM
  799.  
  800.                            MACRO
  801.                            _MakeFilePreview
  802.                            MOVE.W    #69,D0    
  803.                            DC.W      $AAA3
  804.                            ENDM
  805.  
  806.                            MACRO
  807.                            _AddFilePreview
  808.                            MOVE.W    #70,D0    
  809.                            DC.W      $AAA3
  810.                            ENDM
  811.  
  812.  
  813. sfpItemPreviewAreaUser        EQU        11
  814. sfpItemPreviewStaticText    EQU        12
  815. sfpItemPreviewDividerUser    EQU        13
  816. sfpItemCreatePreviewButton    EQU        14
  817. sfpItemShowPreviewButton    EQU        15
  818.  
  819. PreviewResourceRecord       RECORD   0
  820. modDate                        DS.L     1
  821. version                        DS.W     1
  822. resType                        DS.L     1
  823. resID                        DS.W     1
  824. size                        EQU      *
  825.                             ENDR
  826.  
  827.                             ENDIF    ;   ...already included